package com.example.easybuy.service;

import java.util.Map;

public interface BuyCarService {

    //购物车相关

    /**
     * +++++添加一件商品到购物车
     *
     * @param userId
     * @param productId
     * @param addNum    添加的数量
     * @return boolean
     */
    boolean addProductToBuyCar(Integer userId, Integer productId, Integer addNum);

    /**
     * -----减少商品
     *
     * @param userId
     * @param productId
     * @param num
     * @return boolean
     */
    boolean reduceProduct(Integer userId, Integer productId, Integer num);

    /**
     * 删除购物车商品
     *
     * @param userId
     * @param productId
     * @return boolean
     */
    boolean delProduct(Integer userId, Integer productId);

    /**
     * 获取用户购物车数据
     *
     * @param userId
     * @return Map<String, Object>
     */
    Map<String, Object> getBuyCar(Integer userId);


    //下单相关

    /**
     * 生成展示订单   key 用户 buyCar + userId  value Map :  商品productList 数量stockMap  用户地址userAddressList
     *
     * @param userId
     * @return Map<String, Object>
     */
    Map<String, Object> createViewForOrderMap(Integer userId);


    /**
     * 生成数据库订单 userId address stockMap
     *
     * @param userId
     */
    String createOrder(Integer userId, String address);

    boolean updateProductToBuyCar(Integer userId, Integer productId, Integer num);
}
